package com.davidlife.javase.netsocket.simulatebs;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

/*
这个Server启动起来，就可以在浏览器中访问地址：http://127.0.0.1:8888
这时Server打印出来的内容就是Http请求的所有信息。
所以可见：
    1. 浏览器发出请求就是基于TCP 协议的。这里属于传输层
    2. 浏览器发的 HTTP 请求只是把要发送的内容组装成一定格式（HTTP协议规定）然后发给服务器，
        所以 HTTP协议是属于应用层的，它只是定义了应用软件之间信息交互的一种格式而已。
 */
public class BsServerSimple {
    public static void main(String[] args) throws IOException {
        ServerSocket ss = new ServerSocket(8888);
        while (true) {
            Socket s = ss.accept();
            BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            br.close();
            s.close();
        }
    }
}
